home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / ADDON.PAK / ADDONPG.H next >
C/C++ Source or Header  |  1997-05-06  |  2KB  |  90 lines

  1. /*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2.  
  3.    Created: 1/22/96
  4.    Copyright (c) 1987, 1996 Borland International Inc.  All Rights Reserved.
  5.    $Revision:   1.16  $
  6.  
  7. :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/ 
  8. #ifndef __ADDONPG_H
  9. #define __ADDONPG_H
  10.  
  11. #include <ideaddon\iproj.h>
  12. #include <ideaddon\ioption.h>
  13. #include <ideaddon\comhelp.h>
  14.  
  15. class AddonPageBase : public IUnknownImp<IMpdPage> {
  16. public:
  17.   AddonPageBase();
  18.  
  19.   virtual VOID Init(HWND hDlg, IStatusBar* isb);
  20.   virtual HINSTANCE    GetHInstance();
  21.   virtual UINT          GetResourceId();
  22.   virtual IPolyString*  GetPageTitle();
  23.   virtual UINT          GetPageStyle();
  24.  
  25.   virtual BOOL CanClose() {return 1;};
  26.   virtual void SetDlgItems(){};
  27.   virtual void GetDlgItems(){};
  28.   virtual BOOL IsModified();
  29.   virtual VOID Undo();
  30.   virtual LRESULT OnCommand(UINT id, HWND hWndCtl, UINT notifyCode) { return 0;};
  31.  
  32.   virtual void Help(BOOL fF1Key);
  33.   virtual void DisplayPageStatus();
  34.  
  35.   //
  36.   // derived methods
  37.   //
  38.       void SetStatusText(char* t);
  39.       void SetModified(BOOL mod) { d_modified = mod; };
  40.   //
  41.   //  new
  42.   //
  43.       void SetInfo(UINT pStyle, UINT pid, char* title);
  44.  
  45. protected:
  46.   // private variables
  47.   BOOL                      d_modified;
  48.   HWND                      d_hDlg;
  49.   IStatusBar*              d_statusBar;
  50.   UINT                      d_pageResource;
  51.   UINT                      d_pageStyle;
  52.   char*                    d_pageTitle;
  53. };
  54.  
  55.  
  56. class IMpdChapterAddon : public IUnknownImp<IMpdChapter> {
  57. public:
  58.   IMpdChapterAddon();
  59.   ~IMpdChapterAddon();
  60.  
  61.   virtual void      Init();
  62.  
  63.   virtual void      SetEditNode(ProjectNode);
  64.   virtual IMpdPage* OpenPage(UINT pid, ProjectNode node);
  65.   virtual UINT      GetPageCount();
  66.   virtual IMpdPage* GetPage(UINT iPage);
  67.   virtual void      Close(UINT fOk);
  68.  
  69. protected:
  70.   unsigned        d_nPages;
  71.   AddonPageBase*  d_pages[3];
  72. };
  73.  
  74. class IMpdProjectChapterAddon : public IMpdChapterAddon {
  75. public:
  76.   IMpdProjectChapterAddon();
  77.   ~IMpdProjectChapterAddon();
  78.  
  79.   virtual void      Init();
  80.  
  81.   virtual UINT GetResourceId();
  82.   virtual IMpdPage* OpenPage(UINT pid, ProjectNode node);
  83.  
  84. protected:
  85.   IProjectServer*  d_projectServer;
  86.   IOptionSetServer* d_optionSetServer;
  87. };
  88.  
  89. #endif // __ADDONPG_H
  90.